Skip to content

Conversation

bendikto
Copy link
Owner

@bendikto bendikto commented Oct 6, 2026

The click-through navigation itself (company list, clickable dots in the positioning matrix, routing via session_state) already existed. This fills in the actual "deep-dive" content on that page, per the issue's requirements: multi-year financials, not just the latest period.

  • metrics_engine.py: new build_historical_trend() builds a chronological (oldest-first) table of revenue, EBITDA, EBIT, net income and EBITDA margin per reported year for one company, reusing the already-cached raw data — no new network calls.
  • app.py: render_company_page() now shows a Plotly line chart of that trend plus a formatted table, instead of the placeholder message.

Closes #3

The click-through navigation itself (company list, clickable dots in
the positioning matrix, routing via session_state) already existed.
This fills in the actual "deep-dive" content on that page, per the
issue's requirements: multi-year financials, not just the latest
period.

- metrics_engine.py: new build_historical_trend() builds a
  chronological (oldest-first) table of revenue, EBITDA, EBIT, net
  income and EBITDA margin per reported year for one company, reusing
  the already-cached raw data — no new network calls.
- app.py: render_company_page() now shows a Plotly line chart of that
  trend plus a formatted table, instead of the placeholder message.

Two issues found and fixed while testing live in a browser:
- Streamlit's st.dataframe didn't respect a pandas Styler's na_rep
  for missing values (showed the literal word "None"). Replaced with
  manually formatted strings built in a plain loop instead.
- The date-typed period column made Plotly draw a continuous date
  axis with odd monthly ticks between yearly data points. Added a
  plain year-label column and set the x-axis to category type.

Verified end-to-end with a headless-browser driver (click a company,
see the chart and table render with real cached data, no console
errors) before committing.

Full suite: 43 passed, 91% coverage on src/.

Closes #3
@bendikto bendikto self-assigned this Oct 6, 2026
@bendikto bendikto added Enhancement Optimizations, performance tweaks, or minor upgrades to existing features Src Core backend logic, algorithmic development, math engines, and internal system architecture changes Ui Frontend styling, visual elements, layout design, and component styling that users interact with /EPIC : High-level initiatives or large bodies of work Analysis Data processing, statistical modeling, and analytical deep dives labels Oct 6, 2026
@bendikto bendikto merged commit e8c03e2 into main Oct 6, 2026
@bendikto bendikto deleted the 3-Enable-click-through-from-a-company-to-a-dedicated-deep-dive-analysis-view branch October 6, 2026 18:26
Sign in to join this conversation on GitHub.
Labels
Analysis Data processing, statistical modeling, and analytical deep dives Enhancement Optimizations, performance tweaks, or minor upgrades to existing features /EPIC : High-level initiatives or large bodies of work Src Core backend logic, algorithmic development, math engines, and internal system architecture changes Ui Frontend styling, visual elements, layout design, and component styling that users interact with
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable click through from a company to a dedicated deep dive analysis view
1 participant